function SubmitSubscribe(form) {
    var $e = $(form).find('input[name=txtEmail]');
    var email = $e.val();
    if (email == '') {
        alert('Vui lòng nhập e-mail');
        $e.focus();
        return;
    }
    regEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!regEmail.test(email)) {
        valid = false;
        alert('E-mail không đúng định dạng');
        $e.focus();
        return;
    }
    $.ajax({
        type: "POST",
        cache: false,
        data: { strEmail: email },
        url: "/tet/Home/SubmitEmailSubscribe",
        success: function (e) {
            if (e == null || e == '') {
                alert('Chức năng đang được bảo trì, vui lòng thử lại sau');
                location.reload();
            }
            else {
                if (e._status == -1) {
                    var notice = '';
                    for (var idx in e._errors) {
                        notice += '-' + e._errors[idx] + '\n';
                    }
                    alert(notice);
                    return;
                }
                else {
                    alert('Bạn đã đăng ký nhận thông tin về chương trình Tết 2014 tại www.thegioididong.com thành công, chúng tôi sẽ gửi thông tin đến bạn trong thời gian sớm nhất, xin cảm ơn');
                }
            }
        }
    })
}
var slideitemcurrent = 4;
$(document).ready(function () {
    if ($(".noel-news li").length > 1) {
        $(".noel-news").jCarouselLite({
            btnNext: ".next",
            btnPrev: ".prev",
            mouseWheel: true,
            speed: 500,
            visible: 4
        });
    }
    if ($(".lstawardday li").length > 1) {
        $(".slide_awardday").jCarouselLite({
            btnNext: ".next",
            btnPrev: ".prev",
            mouseWheel: true,
            speed: 500,
            visible: 4
        });
    }
    $("#noel-news .next").click(function () {
        slideitemcurrent++;
        if (slideitemcurrent > 4) {
            $(".control li").removeClass("active");
            $(".control #1").addClass("active");
        }
    });
    $("#noel-news .prev").click(function () {
        slideitemcurrent--;
        if (slideitemcurrent < 4) {
            $(".control li").removeClass("active");
            $(".control #0").addClass("active");
        }
    });
    var flag = true;
    if ($('.tree span').length > 0) {
        setTimeout(function () {
            Rotation($('.tree span').eq(0), flag, 15);
            flag = !flag;
        }, 100);
        setTimeout(function () {
            Rotation($('.tree span').eq(1), flag, 20);
            flag = !flag;
        }, 200);
        setTimeout(function () {
            Rotation($('.tree span').eq(2), flag, 15);
            flag = !flag;
        }, 300);
        setTimeout(function () {
            Rotation($('.tree span').eq(3), flag, 10);
            flag = !flag;
        }, 400);
        setTimeout(function () {
            Rotation($('.tree span').eq(4), flag, 15);
            flag = !flag;
        }, 500);
        setTimeout(function () {
            Rotation($('.tree span').eq(5), flag, 20);
            flag = !flag;
        }, 600);
        setTimeout(function () {
            Rotation($('.tree span').eq(6), flag, 15);
            flag = !flag;
        }, 700);
        setTimeout(function () {
            Rotation($('.tree span').eq(7), flag, 10);
            flag = !flag;
        }, 800);
        setTimeout(function () {
            Rotation($('.tree span').eq(8), flag, 15);
            flag = !flag;
        }, 900);
        setTimeout(function () {
            Rotation($('.tree span').eq(9), flag, 20);
            flag = !flag;
        }, 1000);
        setTimeout(function () {
            Rotation($('.tree span').eq(10), flag, 15);
            flag = !flag;
        }, 1100);
        setTimeout(function () {
            Rotation($('.tree span').eq(11), flag, 10);
            flag = !flag;
        }, 1200);
        setTimeout(function () {
            Rotation($('.tree span').eq(12), flag, 15);
            flag = !flag;
        }, 1300);
        setTimeout(function () {
            Rotation($('.tree span').eq(13), flag, 10);
            flag = !flag;
        }, 1400);
        setTimeout(function () {
            Rotation($('.tree span').eq(14), flag, 15);
            flag = !flag;
        }, 1500);
        setTimeout(function () {
            Rotation($('.tree span').eq(15), flag, 10);
            flag = !flag;
        }, 1600);
    }
    if (typeof (verifyPhoneNumber) != 'undefined') {
        if (verifyPhoneNumber) {
            $('.tree span').click(function () {
                ShowPhoneNumberRequest();
            });
        }
        else {
            $('.tree span').click(function () {
                PickAnEnvelope();
            });
        }
    }
});
function GetAllFormData($form) {
    var unindexed_array = $form.serializeArray();
    var indexed_array = {};

    $.map(unindexed_array, function (n, i) {
        indexed_array[n['name']] = n['value'];
    });
    return indexed_array;
}
var SUBMIT_FOOTER_SUBSCRIBE_FLAG = true;
function SubmitFooterSubscribe() {
    $('.subscribe-form').removeAttr('style');
    $('.subscribe-form .justadd').remove();
    if (!SUBMIT_FOOTER_SUBSCRIBE_FLAG)
        return;
    SUBMIT_FOOTER_SUBSCRIBE_FLAG = false;
    var data = GetAllFormData($('#frmFooterSubscribe'))
    POSTAjax('/tet/Common/SubmitFooterSubscirbe', data, BeforeSendAjax, function (e) {
        if (e != null || e != '') {
            $('.justadd').remove();
            if (e.status == 1) {
                var html = '<div class="justadd">Cảm ơn bạn đã đăng ký. Chúng tôi sẽ sớm gửi những điều bất ngờ đến cho bạn.</div>';
                $('#frmFooterSubscribe').replaceWith(html);
            }
            else if (e.status == -1) {
                var html = '<ul class="justadd">';
                for (var i in e.errors) {
                    html += '<li>';
                    html += e.errors[i];
                    html += '</li>';
                }
                $('#frmFooterSubscribe').append(html).css('height', 'auto');
            }
            else {
                var html = '<div class="justadd">Chức năng đang được bảo trì, vui lòng thử lại sau</div>';
                $('#frmFooterSubscribe').append(html).css('height', 'auto');
            }
        }
        SUBMIT_FOOTER_SUBSCRIBE_FLAG = true;
    }, ErrorAjax, true);
}
function ErrorAjax() { }
function POSTAjax(url, dat, befHandle, sucHandle, errHandle, asy) {
    $.ajax({
        async: asy,
        url: url,
        data: dat,
        type: 'POST',
        cache: false,
        beforeSend: function () {
            befHandle();
        },
        success: function (e) {
            sucHandle(e);
        },
        error: function () {
            errHandle();
        }
    });
}
function BeforeSendAjax() { }
function Rotation($ctrl, flag, deg) {
    var from = flag ? deg : -deg;
    var to = flag ? -deg : deg;
    $ctrl.rotate({
        angle: from,
        animateTo: to,
        callback: function () { Rotation($ctrl, !flag, deg); },
        easing: function (x, t, b, c, d) {
            return c * (t / d) + b;
        }
    });
}

var FLAG_ENVELOPE_PICKING = true;
function PickAnEnvelope() {
    if (!FLAG_ENVELOPE_PICKING)
        return;
    FLAG_ENVELOPE_PICKING = false;
    POSTAjax('/tet/Home/EnvelopePicking', {}, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        if ($('#pickingresult').length == 0) {
            $('body').append(e);
        }
        else {
            $('#pickingresult').replaceWith(e);
        }
        $.fancybox.close();
        $('#openpickingresult').fancybox({
            'transitionIn': 'fade',
            'transitionOut': 'fade',
            'showCloseButton': false,
            'autoScale': false,
            'margin': 0,
            'padding': 0,
            'closeBtn': false,
            'helpers': {
                'overlay': { 'closeClick': false }
            },
            beforeShow: function () {
                $('.fancybox-skin').css('backgroundColor', 'transparent');
            }
        });
        $('#openpickingresult').trigger('click');
        RefreshUserScoreBoard();
        FLAG_ENVELOPE_PICKING = true;
    }, ErrorAjax, true);
}
var FLAG_SEARCHUSER = true;
function SearchUser(ctrl, keyword) {
    if (keyword.length <= 3)
        return;
    if (!FLAG_SEARCHUSER)
        return;
    FLAG_SEARCHUSER = false;
    POSTAjax('/tet/Home/SearchUser', { keyword: keyword }, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        $(ctrl).parent().find('.usersearchresult').remove();
        $(ctrl).parent().append(e);
        FLAG_SEARCHUSER = true;
    }, ErrorAjax, true);
}

function ChangeSendToUser(id, name, ctrl) {
    $('form#frmSendGift input[name=txtFullName]').val(name);
    $('form#frmSendGift input[name=hdReceivedUserID]').val(id);
    $('.usersearchresult ul li').removeClass('active');
    $(ctrl).parent().addClass('active');
}

function SendGiftToFriend(ctrl) {
    var data = GetAllFormData($(ctrl));
    if (data.hdReceivedUserID == 0) {
        alert('Vui lòng người nhận cho món quà của bạn');
        return false;
    }
    POSTAjax('/tet/Home/SendGiftToFriend', data, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        else if (e == -1) {
            alert('Bạn không thể tặng quà cho chính mình, vui lòng chọn người chơi khác');
            return;
        }
        $('#pickingresult').replaceWith(e);
    }, ErrorAjax, true);
    return false;
}

function RefreshUserScoreBoard() {
    POSTAjax('/tet/Home/RefreshUserScoreBoard', {}, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        $('#content .colleft .control .action').replaceWith(e);
    }, ErrorAjax, true);
}

function ShowPhoneNumberRequest() {
    $.ajax({
        url: '/tet/Auth/PhoneNumberRequest',
        type: 'GET',
        data: {},
        beforeSend: function () { },
        success: function (e) {
            if (e != null && e != undefined) {
                if ($('#divPhoneNumberRequest').length == 0) {
                    $('body').append(e);
                }
                else {
                    $('#divPhoneNumberRequest').replaceWith(e);
                }
                $.fancybox.close();
                $("#lnkPhoneNumberRequest").fancybox({
                    'transitionIn': 'fade',
                    'transitionOut': 'fade',
                    'showCloseButton': false,
                    'autoScale': false,
                    'margin': 0,
                    'padding': 0,
                    'closeBtn': false,
                    'helpers': {
                        'overlay': { 'closeClick': false }
                    },
                    beforeShow: function () {
                        $(".fancybox-skin").css("backgroundColor", "transparent");
                    }
                });
                $("#lnkPhoneNumberRequest").trigger('click');
            }
        }
    })
}

function SubmitPhoneNumberRequest($form) {
    var data = GetAllFormData($form);
    if (data.hdStep == undefined)
        location.reload();
    if (data.hdStep == "1") {
        if (data.txtPhoneNumber == '') {
            $form.find('.error').html('<p>Số điện thoại không được để trống</p>');
            return false;
        }
        regPhone = /^((09[0-9]{8})|(01[0-9]{9}))$/;
        if (!regPhone.test(data.txtPhoneNumber)) {
            $form.find('.error').html('<p>Số điện thoại không đúng định dạng</p>');
            return false;
        }
        $.ajax({
            url: '/tet/Auth/SubmitPhoneNumberRequest',
            type: 'POST',
            data: data,
            beforeSend: function () { },
            success: function (e) {
                if (e._status == -1) {
                    $form.find('.error').html('<p>' + e._errors[0] + '</p>');
                    return false;
                }
                else {
                    var notice = 'Chúng tôi vừa gửi tin nhắn có mã xác nhận tới số <b>' + data.txtPhoneNumber + '</b>, tin nhắn sẽ đến trong khoảng 1 phút. Nếu bạn không nhận được sms? <a href="javascript:;" onclick="ResendPhoneNumberConfirmCode()">Yêu cầu gửi lại sms</a> , hoặc báo lỗi qua phần Bình luận bên dưới kèm theo số điện thoại của bạn';
                    $form.find('.info').html(notice);
                    $form.find('input[name=hdStep]').val(2);
                    $form.find('input[name=txtPhoneNumber]').attr('placeholder', 'Mã số xác nhận (6 chữ số)').val('');
                    $form.find('a.button').html('Xác nhận và đua tiếp');
                }
            }
        })
    }
    if (data.hdStep == "2") {
        $.ajax({
            url: '/tet/Auth/SubmitPhoneNumberRequest',
            type: 'POST',
            data: data,
            beforeSend: function () { },
            success: function (e) {
                if (e._status == -1) {
                    $form.find('.error').html('<p>' + e._errors[0] + '</p>');
                    return false;
                }
                else {
                    alert('Chúc mừng! Tài khoản của bạn đã được cập nhật số điện thoại thành công. Ngay từ bây giờ bạn đã có thể bắt đầu tham gia cuộc đua :)');
                    location.reload();
                }
            }
        })
    }
    return false;
}


function ResendPhoneNumberConfirmCode() {
    $form = $('#frmPhoneNumberRequest');
    $.ajax({
        url: '/tet/Auth/ResendPhoneNumberConfirmCode',
        type: 'POST',
        data: {},
        beforeSend: function () { },
        success: function (e) {
            if (e._status == -1) {
                $form.find('.error').html('<p>' + e._errors[0] + '</p>');
                return;
            }
            else {
                var number = $form.find('.info b').html();
                var notice = 'Chúng tôi vừa gửi lại tin nhắn có mã xác nhận tới số<b>' + number + '</b>, hãy kiểm tra điện thoại của mình. Nếu bạn vẫn không nhận được tin nhắn, vui lòng báo lỗi cho chúng tôi qua phần Bình luận bên dưới';
                $form.find('.info').html(notice);
            }
        }
    })
}
function Logouttet() {
    $.ajax({
        type: "POST",
        cache: false,
        data: {},
        url: "/tet/Auth/Logout",
        success: function (e) {
            location.reload();
        }
    })
}
function SurpriseChallenge() {
    POSTAjax('/tet/Home/SurpriseChallenge', {}, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        if ($('#pickingresult').length == 0) {
            $('body').append(e);
        }
        else {
            $('#pickingresult').replaceWith(e);
        }
        $.fancybox.close();
        $('#openpickingresult').fancybox({
            'transitionIn': 'fade',
            'transitionOut': 'fade',
            'showCloseButton': false,
            'autoScale': false,
            'margin': 0,
            'padding': 0,
            'closeBtn': false,
            'helpers': {
                'overlay': { 'closeClick': false }
            },
            beforeShow: function () {
                $('.fancybox-skin').css('backgroundColor', 'transparent');
            }
        });
        $('#openpickingresult').trigger('click');
        RefreshUserScoreBoard();
    }, ErrorAjax, true);
}
function StartSurpriseChallenge(type) {
    url = '/tet/Home/OneQuestionChallenge';
    if (type == 2) {
        url = '/tet/Home/TenSecondChallenge';
    }
    POSTAjax(url, {}, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        $('#pickingresult').replaceWith(e);
        if (type == 1) {
            CountDown(10);
        }
        else {
            CountDown2(10);
        }
        RefreshUserScoreBoard();
    }, ErrorAjax, true);
}

function TimeOverOneQuestion() {
    data = { answerid: -1 };
    POSTAjax('/tet/Home/SubmitOneAnswer', data, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        $('#pickingresult').replaceWith(e);
        RefreshUserScoreBoard();
    }, ErrorAjax, true);
}
var FLAG_ONE_QUESTION_ANSWER = false;
function CountDown(t) {
    if (t <= 0) {
        if (!FLAG_ONE_QUESTION_ANSWER) {
            TimeOverOneQuestion();
        }
        return;
    }
    $('#pickingresult .score .clock').html('00:' + (t >= 10 ? ('' + t) : ('0' + t)));
    t--;
    setTimeout(function () {
        CountDown(t);
    }, 1000);
}
function CountDown2(t) {
    if (t <= 0) {
        TimeOverTenSeconds();
        return;
    }
    $('#pickingresult .score .clock').html('00:' + (t >= 10 ? ('' + t) : ('0' + t)));
    t--;
    setTimeout(function () {
        CountDown2(t);
    }, 1000);
}
function TimeOverTenSeconds() {
    data = { answerid: -1 };
    POSTAjax('/tet/Home/SubmitTenSecond', data, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        $('#pickingresult').replaceWith(e);
        RefreshUserScoreBoard();
    }, ErrorAjax, true);
}

var FLAG_SUBMITONEANSWER = true;
function SubmitOneAnswer(ctrl) {
    if (!FLAG_SUBMITONEANSWER)
        return;
    FLAG_SUBMITONEANSWER = false;
    $('#pickingresult .content .answer ul li input').attr('disabled', 'disabled');
    FLAG_ONE_QUESTION_ANSWER = true;
    data = { answerid: $(ctrl).val() };
    POSTAjax('/tet/Home/SubmitOneAnswer', data, BeforeSendAjax, function (e) {
        if (e == null || e == '') {
            FLAG_SUBMITONEANSWER = true;
            return;
        }
        $('#pickingresult').replaceWith(e);
        FLAG_SUBMITONEANSWER = true;
        RefreshUserScoreBoard();
    }, ErrorAjax, true);
}

var FLAG_SUBMITTENSECOND = true;
function SubmitTenSecond(ctrl) {
    if (!FLAG_SUBMITTENSECOND)
        return;
    FLAG_SUBMITTENSECOND = false;
    data = { answerid: $(ctrl).val() };
    $('#pickingresult .content .answer ul li input').attr('disabled', 'disabled');
    POSTAjax('/tet/Home/CheckTenSecondAnswer', data, BeforeSendAjax, function (e) {
        var html = '';
        if (e == 1) {
            html = '<span style="color:#ff0">Đúng +10.000đ</span>';
        }
        else {
            html = '<span style="color:#ff0">Sai -5.000đ</span>';
        }
        $(ctrl).parent().append(html);
        setTimeout(function () {
            POSTAjax('/tet/Home/SubmitTenSecond', data, BeforeSendAjax, function (e) {
                if (e == null || e == '') {
                    FLAG_SUBMITTENSECOND = true;
                    return;
                }
                $('#pickingresult').replaceWith(e);
                RefreshUserScoreBoard();
                FLAG_SUBMITTENSECOND = true;
            }, ErrorAjax, true);
        }, 200);
    }, ErrorAjax, true);
}

function ShowDivinationBox() {
    POSTAjax('/tet/Home/DivinationBox', {}, BeforeSendAjax, function (e) {
        if (e == null || e == '')
            return;
        if ($('#pickingresult').length == 0) {
            $('body').append(e);
        }
        else {
            $('#pickingresult').replaceWith(e);
        }
        $.fancybox.close();
        $('#openpickingresult').fancybox({
            'transitionIn': 'fade',
            'transitionOut': 'fade',
            'showCloseButton': false,
            'autoScale': false,
            'margin': 0,
            'padding': 0,
            'closeBtn': false,
            'helpers': {
                'overlay': { 'closeClick': false }
            },
            beforeShow: function () {
                $('.fancybox-skin').css('backgroundColor', 'transparent');
            }
        });
        $('#openpickingresult').trigger('click');
        RefreshUserScoreBoard();
    }, ErrorAjax, true);
}
function SubmitDivination($form) {
    var data = GetAllFormData($form);
    if (data.txtFullName == '') {
        alert('Vui lòng nhập họ và tên');
        return false;
    }
    if (data.sDay == 0) {
        alert('Vui lòng chọn ngày sinh');
        return false;
    }
    if (data.sMonth == 0) {
        alert('Vui lòng chọn tháng sinh');
        return false;
    }
    if (data.sYear == 0) {
        alert('Vui lòng chọn năm sinh');
        return false;
    }
    POSTAjax('/tet/Home/SubmitDivinationBox', data, BeforeSendAjax, function (e) {
        if (e == null || e == '') {
            return;
        }
        if (typeof (e) == 'object') {
            if (e._status == -1) {
                var notice = '';
                for (var idx in e._errors) {
                    notice += '-' + e._errors[idx] + '\n';
                }
                alert(notice);
                return;
            }
            return;
        }
        $('#pickingresult').replaceWith(e);
        RefreshUserScoreBoard();
    }, ErrorAjax, true);
    return false;
}

function ChangePagerIndex(ctrl, idx) {
    var $form = $(ctrl).parents('form');
    $form.find('input[name=intPageIndex]').val(idx);
    $form.submit();
}
function GetListUserInviteSucc(form) {
    var data = $(form).serialize();
    $.ajax({
        type: "POST",
        cache: false,
        data: data,
        url: "/tet/Dashboard/RoundSuccessInvitation",
        success: function (e) {
            $('.round').html(e);
        }
    })
    return false;
}
function GetListUserHis(form) {
    var data = $(form).serialize();
    $.ajax({
        type: "POST",
        cache: false,
        data: data,
        url: "/tet/Dashboard/UserRacingHistory",
        success: function (e) {
            $('.userracinghistory').html(e);
        }
    })
    return false;

}

function SearchListUser(form) {
    var data = $(form).serialize();
    $.ajax({
        type: "POST",
        cache: false,
        data: data,
        url: "/tet/Dashboard/UserListTable",
        success: function (e) {
            $('.tblUserlist').html(e);
        }
    })
    return false;
}
function ShareFacebook(url) {
    t = 'Test test and test';
    window.open('http://www.facebook.com/sharer.php?u=' + url);
    return false;
}

function ShareGoogle(url) {
    t = 'Test test and test';
    window.open('https://plus.google.com/share?url=' + url);
    return false;
}
function LoadDailyReward(day) {
    data = { Day: day };
    $.ajax({
        type: "POST",
        cache: false,
        data: data,
        url: "/tet/Dashboard/DailyAward",
        success: function (e) {
            $('#divdailyaward').replaceWith(e);
        }
    })
}